FROM golang:1.21-alpine

# 设置 Alpine 的镜像源为清华源
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories

# 设置 GOPROXY
ENV GOPROXY=https://goproxy.cn,direct

WORKDIR /app

# 安装必要的系统依赖
RUN apk add --no-cache gcc musl-dev

# 复制 go mod 文件
COPY go.mod go.sum ./

# 下载依赖
RUN go mod download

# 复制源代码
COPY . .

# 编译
RUN go build -o main .

# 暴露端口
EXPOSE 8001

# 运行应用
CMD ["./main"]